The present invention relates to improvements in or relating to switching devices and is more particularly concerned with a technique for transmitting control information across a switching device.
Data is transferred over the Internet by means of a plurality of packet switches in accordance with a standard protocol known as Internet Protocol (IP). IP is a protocol based on the transfer of variable sized portions of data known as packets. All network traffic involves the transportation of packets of data. Packet switches are devices for accepting incoming packets; temporarily storing each packet; and then forwarding the packets to another part of the network. A packet switch receives packets of data on a plurality of input ports and transfers each packet to a specific one of a plurality of output ports. The packets of data can be of variable length or of fixed length. A packet switch may include a router, or routing device, or a circuit switch.
Traffic volume in the Internet is growing exponentially, almost doubling every 3 months, and the capacity of conventional IP routers is insufficient to meet this demand. There is thus an urgent requirement for products that can route IP traffic at extremely large aggregate bandwidths in the order of several terabits per second. Such routing devices are termed “terabit routers”.
Terabit routers require a scalable high capacity communications path between the point at which packets arrive at the router (the “ingress”) and the point at which the packets leave the router (the “egress”).
The packets transferred in accordance with IP can (and do) vary in size. Within routers it has been found useful to pass data in fixed sized units. In routers then data packets are partitioned into small fixed sized units, known as cells.
One suitable technique for implementing a scalable communications path is a backplane device, known as a cell based cross-bar. Data packets are partitioned into cells by a plurality of ingress means for passage across the cross-bar.
The plurality of ingress means provide respective interfaces between incoming communications channels carrying incoming data and the cross-bar. Similarly a plurality of egress means provide respective interfaces between the cross-bar and outgoing communications channels carrying outgoing data.
A general terabit router architecture bears some similarity to conventional router architecture. Packets of data arrive at input port(s) of ingress means and are routed as cells across the cross-bar to a predetermined egress means which reassembles the packets and transmits them across its output port(s). Each ingress means maintains a separate packet queue for each egress means.
The ingress and egress means may be implemented as line interface cards (LICs). Since one of the line functions regularly undertaken by the ingress and egress means is forwarding, LICs may also be known as ‘forwarders’. Further functions include congestion control and maintenance of external interfaces, input ports and output ports.
In a conventional cell based cross-bar, each ingress means is connected to one or more of the egress means. However, each ingress means is only capable of connecting to one egress means at any one time. Likewise, each egress means is only capable of connecting to one ingress means at a time.
All ingress means transmit in parallel and independently across the cross-bar. Furthermore, cell transmission is synchronized with a cell cycle, having a period of, for example, 108.8 ns.
The ingress means simultaneously each transmit a new cell with each new cell cycle. The pattern of transmissions from the ingress means across the cross-bar to the egress means changes at the end of every cell cycle.
A cross-bar controller is provided for efficient allocation of the bandwidth across the cross-bar. It calculates the rates that each ingress means must transmit to each egress means. This is the same as the rate at which data must be transmitted from each packet queue. The calculation makes use of real-time information, including traffic measurements and indications from the ingress means. The indications from the ingress means include monitoring the current rates, queue lengths and buffer full flags. The details of the calculation are discussed more rigorously in the copending British Patent Application Number 9907313.2 (docket number F21558/98P4863).
The cross-bar controller performs a further task; it serves to schedule the transfer of data efficiently across the cross-bar while maintaining the calculated rates. At the end of each cell cycle, the cross-bar controller communicates with the ingress and egress means as follows. First, the cross-bar controller calculates and transmits to each ingress means the identity of the next package queue from which to transmit. Secondly, the cross-bar controller calculates and transmits to each egress means the identity of the ingress from which it must receive.
The architecture described above gives rise to two requirements:
(i) the need for a means for each ingress means to transmit traffic measurements and indications to the cross-bar controller; and
(ii) the need for a means for the cross-bar controller to send configuration information to each ingress and each egress means.
It is possible to provide dedicated communications paths to meet these requirements. However such a solution requires additional hardware, which is expensive in terms of increased power consumption, installation and materials.